furny.ga.rules
Class MaxDistanceToWallRule

java.lang.Object
  extended by furny.ga.rules.MaxDistanceToWallRule
All Implemented Interfaces:
IValidationRule<FurnLayoutIndividual>

public class MaxDistanceToWallRule
extends java.lang.Object
implements IValidationRule<FurnLayoutIndividual>

This is a IValidationRule implementation that keeps furnitures at a wall.

Since:
12.08.2012
Author:
Stephan Dreyer

Nested Class Summary
 
Nested classes/interfaces inherited from interface ga.core.validation.IValidationRule
IValidationRule.Type
 
Field Summary
private static java.util.logging.Logger LOGGER
           
private  float maxAllowedDistance
           
private  Tag tag
           
 
Constructor Summary
MaxDistanceToWallRule(float maxDistance)
          Creates the rule with a maximum distance.
MaxDistanceToWallRule(java.lang.String tagName, float maxDistance)
          Creates the rule for a given tag name and a maximum distance.
 
Method Summary
 IValidationRule.Type getType()
          Getter for the type of this rule.
 float matchingDegree(FurnLayoutIndividual individual, GAContext context)
          Calculates the matching degree in [0;1] for this rule.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGGER

private static final java.util.logging.Logger LOGGER

maxAllowedDistance

private float maxAllowedDistance

tag

private final Tag tag
Constructor Detail

MaxDistanceToWallRule

public MaxDistanceToWallRule(java.lang.String tagName,
                             float maxDistance)
Creates the rule for a given tag name and a maximum distance.

Parameters:
tagName - The tag name.
maxDistance - The maximum distance.
Since:
12.08.2012

MaxDistanceToWallRule

public MaxDistanceToWallRule(float maxDistance)
Creates the rule with a maximum distance. The tag name will be "Location/Wall".

Parameters:
maxDistance - The maximum distance.
Since:
12.08.2012
Method Detail

matchingDegree

public float matchingDegree(FurnLayoutIndividual individual,
                            GAContext context)
Description copied from interface: IValidationRule
Calculates the matching degree in [0;1] for this rule. If the given individual does not match the rule, 0 will be returned.

Specified by:
matchingDegree in interface IValidationRule<FurnLayoutIndividual>
Parameters:
individual - The individual to test.
context - The GA context.
Returns:
The matching degree between 0 and 1.

getType

public IValidationRule.Type getType()
Description copied from interface: IValidationRule
Getter for the type of this rule.

Specified by:
getType in interface IValidationRule<FurnLayoutIndividual>
Returns:
The type.